return g_object_new (GTK_TYPE_BUTTON, "label", label, NULL);
}
+/**
+ * gtk_button_new_from_icon_name:
+ * @icon_name: an icon name
+ * @size: (type int): an icon size
+ *
+ * Creates a new #GtkButton containing an icon from the current icon theme.
+ *
+ * If the icon name isn't known, a "broken image" icon will be
+ * displayed instead. If the current icon theme is changed, the icon
+ * will be updated appropriately.
+ *
+ * This function is a convenience wrapper around gtk_button_new() and
+ * gtk_button_set_image().
+ *
+ * Returns: a new #GtkButton displaying the themed icon
+ *
+ * Since: 3.10
+ **/
+GtkWidget*
+gtk_button_new_from_icon_name (const gchar *icon_name,
+ GtkIconSize size)
+{
+ GtkStyleContext *context;
+ GtkWidget *button;
+ GtkWidget *image;
+
+ image = gtk_image_new_from_icon_name (icon_name, size);
+ button = g_object_new (GTK_TYPE_BUTTON,
+ "image", image,
+ NULL);
+ context = gtk_widget_get_style_context (button);
+ gtk_style_context_add_class (context, "image-button"));
+
+ return button;
+}
+
/**
* gtk_button_new_from_stock:
* @stock_id: the name of the stock item
GtkWidget* gtk_button_new (void);
GDK_AVAILABLE_IN_ALL
GtkWidget* gtk_button_new_with_label (const gchar *label);
+GDK_AVAILABLE_IN_3_10
+GtkWidget* gtk_button_new_from_icon_name (const gchar *icon_name,
+ GtkIconSize size);
GDK_DEPRECATED_IN_3_10_FOR(gtk_button_new_with_label)
GtkWidget* gtk_button_new_from_stock (const gchar *stock_id);
GDK_AVAILABLE_IN_ALL